1. Technical Field
This invention relates to modem technology, and more particularly, to a modem that adjusts for missed code samples during transmission of data.
2. Related Art
During transmission of data, modems typically buffer digitized data representing the analog transmission for that transmission. This buffered data is originally processed by the main central processing unit of a host computer and transferred to the modem via a link over an internal bus in the computer.
The data to be transmitted to the remote unit is processed by the host computer into digital samples representing the outgoing analog signal and are stored in the memory of the host computer, awaiting transfer to the modem. Upon transfer to the modem, the digitized samples are stored within a transmit buffer in the modem. When the data is to be transmitted to a remote modem, the modem performs a digital to analog conversion on these digitized samples. The modem then outputs the resulting analog waveform across the communication link to the other modem.
On the other end, when the modem receives analog signals from another modem, the receiving modem typically digitizes the analog waveform as samples and store these samples in an internal buffer. The modem then ships the digitized samples of the analog waveform to the host computer""s memory via an internal bus, where the host computer processes the samples to recover the embedded data in the original analog signal.
However, in a typical host computer system, instant and timely access the memory across the bus is not always present. Since the digitized data must be shipped across a bus shared with numerous devices and peripherals associated with a computer a delay in the use of the bus can cause the transfer of the digitized samples to take longer than expected. This delay can cause a disruption in the flow of digitized samples from the host computer memory to the modem.
When this delay occurs, the modem may exhaust all of the data in the transmit buffer. When the transmit buffer has exhausted the supply of digitized samples representing the output analog signal, an indeterminate signal can be output by the modem.
The sending of the unspecified signal across the communication link could result in abnormal noise in the transmitted audio waveform. In a worst case scenario, the abnormalities may include a disruption in the phase of the audio waveform. Different varieties of abnormal waveforms are diagrammed in FIGS. 1a and 1b. 
FIG. 1a is a timing diagram of an analog signal 100 output by a modem when the transmit buffer is in an underflow condition. In the period before a time T1, the transmit buffer is not in an underflow situation and has valid data corresponding to samples of a valid transmitted waveform. However, at the time T1 the transmit buffer enters into an underflow situation, perhaps caused by a delay in receiving digitized samples from a main memory. The resulting analog signal transmitted by the modem at the time T1 is very noisy, due to the fact that no coherent data is being output.
FIG. 1b is a diagram of an even worse case scenario. The modem is outputting an analog signal 150 to a remote modem. The transmit buffer of the modem is operating normally until a time T2. However, at the time T2 an underflow in the transmit buffer occurs, again perhaps caused by the delay in receiving the digitized samples representing the output analog waveform 150 from a main memory or other peripheral device. This described delay is among other types of delays inherent in computer systems that could cause the transmit buffer to underflow.
At the time T2, the modem cannot transmit valid, coherent data over the communication link. As such, the modem proceeds to transmit an out of phase signal.
An out of phase, non-coherent, or noisy signal is extremely destructive in terms of a modem session. The transmissions of extremely noisy data, such as depicted in FIG. 1a, or the transmission of a non-coherent, discontinuous signal, such depicted as in FIG. 1b may lead to lower performance in the modem. In fact, even more destructively, these types of signals may cause a termination of a communication link between another modem.
Other aspects of the present invention, as well as shortcomings of the prior art will become apparent with further reference to the drawings and specification that follow.
In short, the invention relates to a modem that is able to adapt to missed transmission samples by supplying a patch signal for the missing samples. The patch samples do not affect the operation of the modem in a communication session that it is currently engaged.
In one embodiment, the modem is made up of a conversion circuitry, a buffer for storing samples from the conversion circuitry, and a second buffer containing samples of a substitute signal. The modem recieves digital samples from a main computer, which are then stored a transmission buffer. The modem transforms the digital samples into an analog signal, which it then outputs. The digital samples are transformed into the analog signal by the conversion circuitry
A second buffer contains digital samples of a substitute analog signal. When the modem determines that no further valid digital samples are available in the transmission buffer, the digital samples from the second buffer are substituted as input to the conversion circuitry. The conversion circuitry transforms the digital samples contained in the second buffer into an analog output coherent with the prior output signal. Thus, the output of the modem is uninterrupted due to the lack of digital samples in the transmission buffer, and transmits a coherent analog signal that will not impair the communication session.
In one embodiment, the contents of the second buffer are tracked or synchronized with the output of the digital samples from the first buffer to the conversion circuitry. As such, a related digital sample from the second buffer may be substituted seamlessly with the prior digital samples sent form the transmission buffer. Thus, the resulting analog signal output from the conversion circuitry is seamless as well.
In another exemplary embodiment, the digital samples in the second buffer are indicative of a signal coherent with the signal as represented by the samples in the transmission buffer. Thus, the substitution of a sample from the second buffer for a missing sample in the transmission buffer results in a coherent output from the conversion circuitry.
In another embodiment, the second buffer stores samples of a cyclical signal. Further, the second buffer stores samples indicative of at least one cycle of the cyclical signal. In this way, a patch from the second buffer is readily available at any point in the output cycle. This gives the modem the ability to graft the delayed signals from the computer onto the ongoing output analog signal.